package ar.edu.utn.frgp.Banco.model;

import java.io.Serializable;
import java.sql.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import ar.edu.utn.frgp.Banco.model.base.Operacion;
import ar.edu.utn.frgp.Banco.model.enums.OrigenPagoCuota;


@Entity(name = "Cuota")
public class Cuota extends Operacion implements Serializable {

	private static final long serialVersionUID = 1L;
		
	@ManyToOne(targetEntity = Prestamos.class, fetch= FetchType.LAZY)
	private Prestamos prestamo;
	
	@Column(name = "fecha", nullable = true)
	private Date fechaPago;
	
	@Enumerated(EnumType.STRING)
	@Column(name = "origen")
	private OrigenPagoCuota origenPago;

	private List<DetallePago> pagos;
	
	public List<DetallePago> getPagos() {
		return pagos;
	}

	public void setPagos(List<DetallePago> pagos) {
		this.pagos = pagos;
	}

	public Prestamos getPrestamo() {
		return prestamo;
	}

	public void setPrestamo(Prestamos prestamo) {
		this.prestamo = prestamo;
	}

	public Date getFechaPago() {
		return fechaPago;
	}

	public void setFechaPago(Date fechaPago) {
		this.fechaPago = fechaPago;
	}

	public OrigenPagoCuota getOrigenPago() {
		return origenPago;
	}

	public void setOrigenPago(OrigenPagoCuota origenPago) {
		this.origenPago = origenPago;
	}
}
